-- local skynet = require "skynet"
-- require "skynet.manager"
-- local harbor = require "skynet.harbor"

-- skynet.start(function()
-- local handle = skynet.newservice("test")

-- skynet.name(".testalias", handle) --给服务起一个本地别名
-- skynet.name("testalias", handle)  --给服务起一个全局别名

-- local handle = skynet.localname(".testalias")
-- skynet.error("localname .testalias handle", skynet.address(handle))

-- handle = skynet.localname("testalias") --只能查本地，不能查全局别名
-- skynet.error("localname testalias handle", skynet.address(handle))

-- handle = harbor.queryname(".testalias")
-- skynet.error("queryname .testalias handle", skynet.address(handle))

-- handle = harbor.queryname("testalias")
-- skynet.error("queryname testalias handle", skynet.address(handle))


-- end)

local skynet = require "skynet"
require "skynet.manager"
local harbor = require "skynet.harbor"

skynet.start(function()

    local handle = skynet.newservice("test")

    skynet.name(".testalias", handle) --给服务起一个本地别名
    skynet.name("testalias", handle)  --给服务起一个全局别名


    handle = skynet.localname(".testalias")
    skynet.error("localname .testalias handle", skynet.address(handle))

    handle = skynet.localname("testalias")
    skynet.error("localname testalias handle", skynet.address(handle))

    handle = harbor.queryname(".testalias")
    skynet.error("queryname .testalias handle", skynet.address(handle))

    handle = harbor.queryname("testalias")
    skynet.error("queryname testalias handle", skynet.address(handle))

    skynet.kill(handle) --杀死带别名服务

    handle = skynet.localname(".testalias")
    skynet.error("localname .testalias handle", skynet.address(handle))

    handle = skynet.localname("testalias")
    skynet.error("localname testalias handle", skynet.address(handle))

    handle = harbor.queryname(".testalias")
    skynet.error("queryname .testalias handle", skynet.address(handle))

    handle = harbor.queryname("testalias")
    skynet.error("queryname testalias handle", skynet.address(handle))

end)

-- ​skynet的全局别名服务是在cslave里面实现的，现在不允许二次修改全局别名绑定关系，所以全局别名一般用来给一个永远不会退出的服务来启用。

-- ​但是有些情况下，我们确实需要二次修改全局别名绑定关系，那么这个时候，我们可以尝试去修改一下cslave.lua文件



-- 全局唯一服名与这里的全局别名是两个概念的名词。

-- 全局唯一服名称: 是用来标识服务是唯一的，服务名称一般就是脚本名称，无法更改。

-- ​全局别名: 是用来给服务起别名的，既可以给普通服起别名，也可以给全局唯一服起别名。

-- ​他们两种名字是在不同的体系中的，有各种的起名字的方式，以及查询的方式。

-- ​所以不要尝试用skynet.queryservice查询一个全局别名，也不要尝试使用harbor.queryname去查询一个全局唯一


-- top -c or top c 
